<?php

namespace Entities;

use Doctrine\ORM\Mapping as ORM;

/**
 * Entities\Chamado
 *
 * @ORM\Table(name="chamado")
 * @ORM\Entity
 */
class Chamado
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var datetime $dataAbertura
     *
     * @ORM\Column(name="data_abertura", type="datetime", nullable=false)
     */
    private $dataAbertura;

    /**
     * @var string $descricao
     *
     * @ORM\Column(name="descricao", type="string", length=100, nullable=false)
     */
    private $descricao;

    /**
     * @var Entities\Usuario
     *
     * @ORM\OneToOne(targetEntity="Entities\Usuario")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="usuario", referencedColumnName="id", unique=true)
     * })
     */
    private $usuario;

    /**
     * @var Entities\Servico
     *
     * @ORM\OneToOne(targetEntity="Entities\Servico")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="servico", referencedColumnName="id", unique=true)
     * })
     */
    private $servico;

    /**
     * @var Entities\Status
     *
     * @ORM\OneToOne(targetEntity="Entities\Status")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="status", referencedColumnName="id", unique=true)
     * })
     */
    private $status;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set dataAbertura
     *
     * @param datetime $dataAbertura
     * @return Chamado
     */
    public function setDataAbertura($dataAbertura)
    {
        $this->dataAbertura = $dataAbertura;
        return $this;
    }

    /**
     * Get dataAbertura
     *
     * @return datetime 
     */
    public function getDataAbertura()
    {
        return $this->dataAbertura;
    }

    /**
     * Set descricao
     *
     * @param string $descricao
     * @return Chamado
     */
    public function setDescricao($descricao)
    {
        $this->descricao = $descricao;
        return $this;
    }

    /**
     * Get descricao
     *
     * @return string 
     */
    public function getDescricao()
    {
        return $this->descricao;
    }

    /**
     * Set usuario
     *
     * @param Entities\Usuario $usuario
     * @return Chamado
     */
    public function setUsuario(\Entities\Usuario $usuario = null)
    {
        $this->usuario = $usuario;
        return $this;
    }

    /**
     * Get usuario
     *
     * @return Entities\Usuario 
     */
    public function getUsuario()
    {
        return $this->usuario;
    }

    /**
     * Set servico
     *
     * @param Entities\Servico $servico
     * @return Chamado
     */
    public function setServico(\Entities\Servico $servico = null)
    {
        $this->servico = $servico;
        return $this;
    }

    /**
     * Get servico
     *
     * @return Entities\Servico 
     */
    public function getServico()
    {
        return $this->servico;
    }

    /**
     * Set status
     *
     * @param Entities\Status $status
     * @return Chamado
     */
    public function setStatus(\Entities\Status $status = null)
    {
        $this->status = $status;
        return $this;
    }

    /**
     * Get status
     *
     * @return Entities\Status 
     */
    public function getStatus()
    {
        return $this->status;
    }
}